package com.sky.task;

import com.alibaba.fastjson.JSON;
import com.sky.constant.MessageConstant;
import com.sky.entity.Orders;
import com.sky.exception.OrderBusinessException;
import com.sky.mapper.OrderMapper;
import com.sky.websocket.WebSocketServer;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;

@Component
@Slf4j
public class PaySuccessTask {

    @Autowired
    private OrderMapper orderMapper;

    @Autowired
    private WebSocketServer webSocketServer;

    /**
     * 模拟支付成功，提醒商家接单
     */
//    @Scheduled(cron = "0 1/1 * * * ? ")
//    public void paySuccess(){
//        log.info("支付成功，待接单");
//        orderMapper.paySuccess();
//        Map<String, Integer> map = new HashMap<>();
//        map.put("type",1);// 1表示来单提醒，2表示客户催单
//        map.put("orderId",9);
//        map.put("订单号",202020);
//        String json = JSON.toJSONString(map);
//        webSocketServer.sendToAllClient(json);
//    }


//    @Scheduled(cron = "0 1/1 * * * ? ")
//    public void remider(){
//
//        Orders orders = orderMapper.getById(8L);
//
//        /*订单不存在，抛出业务异常*/
//        if(orders == null){
//            throw new OrderBusinessException(MessageConstant.ORDER_NOT_FOUND);
//        }
//
//        Map map = new HashMap();
//        map.put("type",2);//1.表示来单提醒，2.表示客户催单
//        map.put("orderId",8);
//        map.put("content","订单号：" + orders.getNumber());
//
//        //通过websocket向管理端推送消息
//        webSocketServer.sendToAllClient(JSON.toJSONString(map));
//    }
}
